const mysql = require('mysql')
const config = require('../config.js')
var mySqlConfig = config.mysql;
var pool = mysql.createConnection({
  host: mySqlConfig.host,
  user: mySqlConfig.user,
  password: mySqlConfig.pass,
  database: mySqlConfig.db,
  charset: mySqlConfig.char
});

// 接收一个sql语句 以及所需的values
// 这里接收第二参数values的原因是可以使用mysql的占位符 '?'
// 比如 query(`select * from my_database where id = ?`, [1])

let getData = function (sql, values) {
  // 返回一个 Promise
  return new Promise((resolve, reject) => {
    pool.connect();
    pool.query(sql, values, (err, rows) => {

      if (err) {
        // 失败
        reject(err)
      } else {
        // 成功
        resolve(rows)
      }
      // 结束会话
      pool.end();
    })
  })
}
let getParam = function (url) {
  var name, value;
  var str = url; //取得整个地址栏
  var num = str.indexOf("?")
  str = str.substr(num + 1); //取得所有参数   stringvar.substr(start [, length ]

  var arr = str.split("&"); //各个参数放到数组里

  var param = {};
  for (var i = 0; i < arr.length; i++) {
    num = arr[i].indexOf("=");
    if (num > 0) {
      name = arr[i].substring(0, num);
      value = arr[i].substr(num + 1);
      param[name] = decodeURI(value);
    }
  }
  return param;
}
const query = { getData, getParam}
module.exports = query